package com.cskaoyan.day1.generic6;

/**
 * @author Common-zhou
 * @since 2023-02-27 14:51
 */
public class Generic2 {
    public static void main(String[] args) {
        Integer integer = new Integer(10);

        // 父类引用指向子类对象
        Number number = new Integer(20);

        // jvm 对数组做的一个特殊操作。
        // 数组支持协变
        // 协变： 允许接收该类 及该类的子类
        Number[] numbers = new Integer[10];
        Number[] numbers1 = new Double[20];

        // 逆变 就是允许接收该类及该类的父类

        User<Integer> user1 = new User<Integer>();
        // 如果这里 允许接收  User<Integer> User<Double>
        //User<Number> user2 = user1;

        // 就是想允许接收 该类 及该类的子类
    }
}

class User<T> {
    T data;
}
